home *** CD-ROM | disk | FTP | other *** search
- property memberPrim, memberUlt -- Cast members que serao animados
- property memPrim, memQuantos -- Membros: em numero
- property espera -- Tempo de espera entre cada mudanca (em ticks)
- property aleatorio -- True para mudanca aleatoria
- property ultimaTroca -- Hora em que foi feita ultima troca
- property fotoAtual
- property imagensPreambulo
-
- on getBehaviorDescription
- return "Anima sprites"
- end
-
- on getPropertyDescriptionList
- set p_list = [ ¬
- #memberPrim: [ #comment: "Primeiro membro da animacao", ¬
- #format: #string, ¬
- #default: "" ], ¬
- #memberUlt: [ #comment: "Ultimo membro da animacao", ¬
- #format: #string, ¬
- #default: "" ], ¬
- #imagensPreambulo: [ #comment: "Numero de imagens de preambulo", ¬
- #format: #integer, ¬
- #default: 0 ], ¬
- #espera: [ #comment: "Espera entre cada troca em 1/60s (velocidade)",¬
- #format: #integer,¬
- #default: 60 ],¬
- #aleatorio: [ #comment: "Animacao randomica",¬
- #format: #boolean,¬
- #default: false ]¬
- ]
- return p_list
- end
-
- on beginSprite me
- set memPrim to the number of member memberPrim
- set memQuantos to (the number of member memberUlt) - memPrim + 1
- put 0 into fotoAtual
- end
-
- on cleanSprite me
- puppetSprite (the spriteNum of me),false
- end
-
- on idleSprite me
- global gMustUpdate
-
- -- Testa se ja e' hora de trocar figura
- if (the timer - ultimaTroca) > espera then
-
- -- Descobre qual a proxima figura a trocar
- if (aleatorio) then
- put random(memQuantos - 1 - imagensPreambulo) - 1 + imagensPreambulo into tmp
- if tmp >= fotoAtual then put 1 + tmp into tmp
- put tmp into fotoAtual
- else
- put fotoAtual + 1 into fotoAtual
- if fotoAtual >= memQuantos then put imagensPreambulo into fotoAtual
- end if
-
- -- Muda figura e updateStage
- set the member of sprite (the spriteNum of me) to memPrim + fotoAtual
- set gMustUpdate to true
- put the timer into ultimaTroca
- end if
- end